package com.xuecheng.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.api.content.model.dto.TeachplanDTO;
import com.xuecheng.api.content.model.dto.TeachplanMediaDTO;
import com.xuecheng.content.entity.Teachplan;

/**
 * <p>
 * 课程计划 服务类
 * </p>
 *
 * @author itcast
 * @since 2022-06-21
 */
public interface TeachplanService extends IService<Teachplan> {

    /**
     * 查询课程计划属性结结构
     * @param courseId Long 课程基础信息id值
     * @param companyId Long    教学机构id
     * @return  TeachplanDTO
     */
    TeachplanDTO getTreeNodes( Long courseId,Long companyId);

    /**
     * 课程计划创建和修改
     * @param dto  TeachplanDTO  课程计划dto封装数据
     * @param companyId  Long  教学机构id值
     * @return  TeachplanDTO
     */
    TeachplanDTO createOrModifyTeachplan(TeachplanDTO dto,Long companyId);


    /**
     * 根据课程Id查询课程计划树形结构（树形结构为三级目录）
     * @param courseBaseId Long 课程基础信息id
     * @param companyId Long 教学机构id
     * @return TeachplanDTO
     */
    TeachplanDTO queryTreenodesByCourseId(Long courseBaseId, Long companyId);


    /**
     * 课程计划和媒资信息的绑定
     * @param teachplanMediaDTO
     * @param companyId
     * @return
     */
    TeachplanMediaDTO associationMedia(TeachplanMediaDTO teachplanMediaDTO,Long companyId);
}
